<!DOCTYPE html>
<html lang="en" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro"
      xmlns:th="http://www.thymeleaf.org">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
  <link rel="stylesheet" href="/layui/css/layui.css">
  <link rel="stylesheet" href="/css/custom.form.css">
</head>
<body>

<div class="table_div">
  <div id="searchParam">
    <div class="layui-form-item">
          <div class="layui-input-inline layui-form">
	      	<select id="taxorgcodeInput">
			</select>
      	  </div>
	      <div class="layui-input-inline">
	        <input type="text" id="stationNameInput" class="layui-input"  autocomplete="off" placeholder="请输入企业名称">
	      </div>
      
	      <div class="layui-input-inline">
	        <input type="text" id="createTimeInput" class="layui-input"  autocomplete="off" placeholder="请输入时间范围">
	      </div>

	      <div class="layui-input-inline ">
	        <button class="layui-btn" onclick="search()"  id="search">查询</button>
        	<button class="layui-btn" onclick="exportData()">导出</button>
	      </div>
    </div>

  </div>
  <table class="layui-table" id="showTable" lay-filter="showTable" ></table>
</div>
<script type="text/html" id="toolbar">
  <div class="layui-btn-container">
    <button class="layui-btn layui-btn-sm" lay-event="batchDeleted">处理</button>
  </div>
</script>

</body>
</html>
<script src="/layui/layui.all.js"></script>
<script src="/js/core.util.js"></script>
<script>
  //获取token
  var token = CoreUtil.getData("access_token");
  //地址栏转义token中的#号
  var tokenQuery = token.replace("#", "%23");
  var tableIns1;
  var table = layui.table;
  var form = layui.form;
  var layer = layui.layer;
  var $ = jQuery = layui.jquery;
  var laydate = layui.laydate;
  
  var firstDayOfMonth = firstDayOfMonth();
  var lastDayOfMonth = lastDayOfMonth();
  console.log(firstDayOfMonth);
  console.log(lastDayOfMonth);
  console.log(firstDayOfMonth + " 至 " + lastDayOfMonth);
  
  $(function() {
	  // 加载机关
      CoreUtil.sendGet("/sys/deptlist",null , function(res) {
			if (res.code == '0') {
				var value = res.data[0];
				var opt = "<option value = ''>请选择所属机关</option>";
				for (var i in value) {
					opt += '<option value = "' + value[i].id + '">'
							+ value[i].name + '</option>';
				}
				
				$("#taxorgcodeInput").html(opt);
				form.render('select'); //需要渲染一下
			} else {
				layer.msg(res.msg);
				return false;
			}
		}, false, false);
		
  });
  
  $("#createTimeInput").val(firstDayOfMonth + " 至 " + lastDayOfMonth);
  
  layui.use(['table', 'layer', 'laydate'], function () {
	  laydate.render({
			elem : '#createTimeInput',
			type : 'date',
			range : '至',
			done : function(value, date, endDate) {
				if (value != null && value != undefined
						&& value != "") {
					startTime = value.split("至")[0];
					endTime = value.split("至")[1];
					
				} else {
					startTime = null;
					endTime = null;
				}

			}
		});
	  
    //加载table
    tableIns1 = table.render({
      elem: '#showTable'
      , contentType: 'application/json'
      , headers: {"authorization": token}
      , page: true //开启分页
      , url: '/nr/diggingsSelect/list' //数据接口
   	  , where: {
    	  createTimeStart : $("#createTimeInput").val().split('至')[0].replace(/\s+/g, ""),
      	  createTimeEnd : $("#createTimeInput").val().split('至')[1].replace(/\s+/g, "")
      } // 初始化时的过滤条件
      , method: 'POST'
      , parseData: function (res) { //将原始数据解析成 table 组件所规定的数据
        return {
          "code": res.code, //解析接口状态
          "msg": res.msg, //解析提示文本
          "count": CoreUtil.isEmpty(res.data) ? 0 : res.data.total, //解析数据长度
          "data": CoreUtil.isEmpty(res.data) ? null : res.data.records //解析数据列表
        }
      }
      , cols: [
        [
          {type: 'checkbox', fixed: 'left'},
          {field: 'id', title: '主键', sort: true,hide: true},
          {field: 'fromTopic', title: '批次', sort: true,hide: true},
          
          {field: 'station', title: '企业名称', sort: true, width: 290},
          {field: 'taxpayerCode', title: '纳税人识别号', sort: true, width: 185},
          {field: 'deptName', title: '所属机关', sort: true, width: 240},
          
          {field: 'time', title: '时间', sort: true, width: 200},
          {field: 'messageMsegtype', title: '渠道编号', sort: true,hide: true},
          {field: 'messageCamid', title: '摄像头ID', sort: true, width: 115},
          {field: 'messageChannel', title: '渠道', sort: true,hide: true},
          {field: 'messageAreanumber', title: '区域编号', sort: true,hide: true},
          {field: 'messageAreaname', title: '区域名称', sort: true,hide: true},
          /* {field: 'messageRuleid', title: '类型', sort: true,hide: true, width: 100}, */
          {field: 'messageRulename', title: '类型', sort: true, width: 100, templet: function(d) {
				return '矿车';
		  }},
          {field: 'messageDuration', title: '停留时间', sort: true, hide: true},
          {field: 'messageProb', title: '置信度', sort: true ,hide: true},
          {field: 'messageLabel', title: '唯一标识', sort: true,hide: true},
          {field: 'nrEndanger', title: '企业ID', sort: true,hide: true},
          {field: 'taxorgcode', title: '税务机关', sort: true,hide: true},
          {field: 'calculate', title: '计量(吨)', sort: true, width: 90},
          {field: 'industry', title: '行业', sort: true, width: 120},
          
          {field: 'image', title: '图片', width: 170, fixed: 'right', templet: function(d) {
			  var image1 = CoreUtil.isEmpty(d.image1) ? d.image : d.image1;
        	  if(!CoreUtil.isEmpty(d.image)){
					return '<a href="javascript:;" data-src="'+d.image+'" class="layui-table-link" onclick="showImage(this)">查看图片</a>';
				}
			  }
		   }
          
          /* {width: 120, toolbar: "#tool", title: '操作'} */
        ]
      ]
      , toolbar: '#toolbar'
    });


    //表头工具
    table.on('toolbar(showTable)', function(obj){
      switch(obj.event){
        case 'batchDeleted':
          var checkStatus = table.checkStatus(obj.config.id);
          var data = checkStatus.data;
          if(data.length==0){
            layer.msg("请选择要批量删除的列");
          }else {
            var ids = [];
            $(data).each(function (index,item) {
              ids.push(item.id);
            });
            tipDialog(ids);
          }
          break;
        case 'add':
          $(".table_div").hide();
          $(".operation").show();
          $(".title").html("新增");
          break;
      };
    });
    //列操作
    table.on('tool(showTable)',function (obj) {
      var data = obj.data;
      switch (obj.event) {
        case 'del':
          var ids=[];
          ids.push(data.id);
          tipDialog(ids);
          break;
        case 'edit':
          $(".table_div").hide();
          $(".operation").show();
          $(".title").html("编辑");
          break;
      }
    });

    //导出
    $('#export').on('click', function () {
      
      var createTimeInput = $("#createTimeInput").val();
	  var arr = createTimeInput.split('至');
    	
      var exportParams = {
        limit: -1,
	  	createTimeStart : arr[0],
		createTimeEnd : arr[1],
		stationName: $("#stationNameInput").val(),
		deptId : $("#taxorgcodeInput").val(),
		 
      };
      
      CoreUtil.sendPost("/nr/diggingsSelect/list", exportParams, function (res) {
        //初始化渲染数据
        var records = res.data.records;
        for(var i in records){
        	records[i].time = records[i].time + "'";
        }
        if (res.data != null && res.data.records != null) {
          table.exportFile(tableIns1.config.id, records, 'xls');
        }
      });
    });

    //删除
    var tipDialog=function (ids) {
      layer.open({
        content: "确定要删除么?",
        yes: function(index, layero){
          layer.close(index); //如果设定了yes回调，需进行手工关闭
          CoreUtil.sendDelete("/nr/records/delete",ids,function (res) {
            layer.msg(res.msg, {time:1000},function () {
              search();
            });
          });
        }
      });
    };
  });

  //执行查询
  function search() {
	  var createTimeInput = $("#createTimeInput").val();
		var arr = createTimeInput.split('至');
	  //这里以搜索为例
    tableIns1.reload({
      where: { //设定异步数据接口的额外参数，任意设
    	  createTimeStart : arr[0],
			 createTimeEnd : arr[1],
			 stationName: $("#stationNameInput").val(),
			 deptId : $("#taxorgcodeInput").val(),
      }
      , page: {
        curr: 1 //重新从第 1 页开始
      }
    });
  };
  
  function showImage(obj) {
	  var src = $(obj).attr('data-src'); // 获取图片地址
	  var layer = layui.layer;
      layer.ready(function(){
    	  var index = layer.load(2);
    	  layer.open({
    		    type: 1,
    		    title: false,
    		    shadeClose: true,
    		    closeBtn: 0,
    		    offset: 'auto', // 弹出位置，例如't'表示顶部中央
    		    anim: 1, // 动画类型，可选
    		    area: '950px',
    		    skin: 'layui-layer-nobg', // 没有背景色的弹层
    		    shadeClose: true,
    		    content: '<img src="' + src + '" alt="图片" style="margin: auto; max-width: 100%; max-height: 100%">',
    		    success:function(layero,index){
                    layer.style(index, {
                       top: '50%',
                       transform:'translateY(-50%)'
                    });
                } 
    	  });
    	  layer.close(index);
      });
   };
  
  
  function firstDayOfMonth() {
		const currentDate = new Date();
		const year = currentDate.getFullYear();//获取当前年
		const month = String(currentDate.getMonth() + 1).padStart(2, "0");//获取当前月
		const firstDay = "01";//日
		return `${year}-${month}-${firstDay}`;
  };
	
  function lastDayOfMonth() {
  	// 获取当前日期
  	const currentDate = new Date();
  	// 获取当前年份
  	let year = currentDate.getFullYear();
  	// 获取下个月的月份，使用 padStart 在月份小于 10 时在前面补零
  	let month = String(currentDate.getMonth() + 2).padStart(2, "0");
  	// 如果月份为 '13'，说明当前是12月，需要更新年份并将月份设置为 '01'
  	if (month === '13') {
  	    year = year + 1;
  	    month = '01';
  	}
  	 
 	  	// 设置每个月的第一天为 '01'
 	  	let firstDay = "01";
 	  	// 构建下个月的第一天的日期字符串，格式为 'YYYY-MM-DD'
 	  	const firstDayOfNextMonth = `${year}-${month}-${firstDay}`;
 	  	// 计算当前月的最后一天，通过减去一天的毫秒数来得到
 	  	const lastDayOfMonth = new Date(new Date(firstDayOfNextMonth).getTime() - 86400000);
 	  	// 将最后一天的日期转换为 ISO 格式，并提取日期部分
 	  	return lastDayOfMonth.toISOString().split("T")[0];
	}
  
	//导出
  function exportData(){
    var createTimeInput = $("#createTimeInput").val();		  
	  var arr = createTimeInput.split('至');
	  
	  var exportParams = {
      	key: $("#key").val(),
      	createTimeStart : arr[0],
		createTimeEnd : arr[1],
		stationName: $("#stationNameInput").val(),
		deptId : $("#taxorgcodeInput").val(),
	  };
	  
	  CoreUtil.sendPost("/nr/diggingsSelect/exportData",exportParams,function (res) {
		  if(res.code == 0){
			layer.msg(res.data);
			return false;
			// var file = res.data[2];
			// window.open(file,'_blank');
		  }else{
			layer.msg(res.msg);
			return false;
		  }
          
	  });
  }   
  
</script>